Software errors often cause undesirable crashes or other failures of applications executing on mobile devices. Application developers may incorporate crash monitoring procedures into their applications. Such crash monitoring procedures may attempt to gather state information relating to the mobile device at the time of the crash or other error event in order to provide information for debugging purposes. However, as the application has failed by the time that the crash monitoring procedures are invoked, the mobile device may not be stable and obtaining useful information may be problematic.